
package com.aspire.boc.mms.wmf.util;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

public class ThreadLocalHttpSession implements Filter {
    
    private static final ThreadLocal<HttpSession> sessions = new ThreadLocal<HttpSession>();
    
    
    public void init(FilterConfig filterConfig) throws ServletException {}
    
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
        throws IOException, ServletException {
        
        sessions.set(((HttpServletRequest) request).getSession());
        chain.doFilter(request, response);
    }
    
    public void destroy() {}
    
    public static HttpSession getSession() {
        
        return sessions.get();
    }
    
    public static void setSession(HttpSession session) {
        
        sessions.set(session);
    }
}